首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

人生苦短,我用python之入门篇-2

接入门篇-1

3.数据类型和变量

3.5 元组

旧式字符串格式化中参数要用元组; 在字典中当作键值; 数据库的返回值……

输入

#tuple类型 与list类型类似,但是不支持修改

tuple1 = (1,3,['a','b'],(1,2))

tuple1[2]

tuple1[:2]

# type(tuple1[2])

# type(tuple1[3])

(1, 3)

输出

输入

#元组的操作

# tuple1.index(1)

tuple1.count(2)

#list可以转成元组

# list1

tuple(list1)

list(tuple1) #list跟tuple可以互相转换

# type(list1)

[1, 3, ['a', 'b'], (1, 2)]

输出

3.6 字典

字典是没有顺序的

输入

#Python 使用 {} 或者 dict() 来创建一个空的字典:

dict1={}

# dict2=dict()

type(dict1)

dict1["one"]=4

dict1["two"]='F'

dict1

dict3 = {'one':4,'two':'F'}

dict3

# dict3

# len(dict1)

# dict3.get('two')

dict3['two']

'F'

输出

输入

#可以使用元组作为键值。键是不可变的数据类型,键值可以是可变类型

connections = {}

connections[('New York', 'Seattle')] = 100

connections[('Austin', 'New York')] = 200

connections[('New York', 'Austin')] = 400

connections.get(('New York', 'Seattle'))

connections.keys()

connections.values()

connections.items() #返回结果是个列表(list)

[(('New York', 'Austin'), 400),

(('New York', 'Seattle'), 100),

(('Austin', 'New York'), 200)]

输出

3.7 可变类型和不可变类型

可变数据类型 list, dictionary, set, numpy array, user defined objects

不可变数据类型 integer, float, long, complex, string, tuple, frozenset

4 循环、判断

4.1 for 循环

输入

# list_t = [1,2,3,4]

# for i in list_t:

# print i+1

for x, y in [(1, 1), (2, 4), (3, 9)]:

print(x*x, y+1)

(1, 2)

(4, 5)

(9, 10)

输出

输入

# 迭代(for 循环)

#导入Iterable(可迭代)类型。collections模块里有很多的集合类型。

from collections import Iterable

isinstance('abc', int) # str是否可迭代

# for i in 'abc':

# print i.upper()

# isinstance([1,2,3], Iterable) # list是否可迭代

# isinstance(234, Iterable) #int类型是否可迭代

False

输出

输入

#列表生成式

# for i in list_t:

# print i*i

[i*i for i in list_t]

[m + n for m in 'ABC' for n in 'XYZ'] #支持多变量

[s.upper() for s in 'abc']

['A', 'B', 'C']

输出

输入

#生成器

#在需要的时候再生成

t = (i*i for i in list_t) #方括号变成圆括号即可

type(t)

for i in t:

print i

1

4

9

16

输出

4.2 条件判断

if : #注意冒号

#注意缩进

elif :

elif :

else:

输入

birth = input('birth: ') #input可以接收用户输入

if birth

print('00前')

else:

print('00后')

KeyboardInterruptTraceback (most recent call last) in ()----> 1 birth = input('birth: ') #input可以接收用户输入 2 if birth (prompt) 162 self._sys_eval_input = builtin_mod.input 163 builtin_mod.raw_input = self.raw_input--> 164 builtin_mod.input = lambda prompt='': eval(self.raw_input(prompt)) 165 self._save_getpass = getpass.getpass 166 getpass.getpass = self.getpass/usr/install/anaconda2/lib/python2.7/site-packages/ipykernel/kernelbase.pyc in raw_input(self, prompt) 703 self._parent_ident, 704 self._parent_header,--> 705 password=False, 706 ) 707 /usr/install/anaconda2/lib/python2.7/site-packages/ipykernel/kernelbase.pyc in _input_request(self, prompt, ident, parent, password) 733 except KeyboardInterrupt: 734 # re-raise KeyboardInterrupt, to truncate traceback--> 735 raise KeyboardInterrupt 736 else: 737 breakKeyboardInterrupt:

输出

输入

# [m + n for m in 'AbC' for n in 'XYZ' if m.islower()]

# range?

# T = (i for i in range(1,100) if i%2 ==1)

# for g in T:

# print g

# range(1,100)

for g in range(1,100):

if g%2==1:

print g

1

3

...

99

输出

4.3 while循环

输入

#另一种循环方式

ai = 0

l1 = 'abcdef'

while ai

if ai == 1:

pass #只是为了代码不报错的占位符号,实际什么都不执行

elif ai == 3:

ai = ai+1

continue #跳过这一次循环

elif ai == 5:

break #跳出循环

print l1[ai]

ai = ai+1

# while ai

# ai = ai+1d

a

b

c

e

输出

下节我们将从函数开始学习,敬请期待!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180727G0MKV600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券