python数据类型详解及列表字典集合推导式详解
一.运算符
Python语言支持以下类型的运算符:
- 算术运算符
如:
#!/usr/bin/env python
# -*- coding:utf-8 -*- a = 5
b = 6
print(a + b)
- 比较运算符
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*- a = 5
b = 6
if a < b:
print(True)
else:
print(False)
- 赋值运算符
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*- a = 5
b = a
print(b)
- 逻辑运算符
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*- a = 5
b = 6
if a >4 and b < 10:
print(True)
else:
print(False)
- 成员运算符
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
value = "a"
list = ['a','b'] if value in list:
print(True)
二.数据类型
- 数字
int(整形),数字数据类型用于存储数值
Python 支持三种不同的数值类型:
- 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
- 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
- 复数- 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
class int(object):
"""
int(x=0) -> int or long
int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments
are given. If x is floating point, the conversion truncates towards zero.
If x is outside the integer range, the function returns a long instead. If x is not a number or if base is given, then x must be a string or
Unicode object representing an integer literal in the given base. The
literal can be preceded by '+' or '-' and be surrounded by whitespace.
The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to
interpret the base from the string as an integer literal.
>>> int('0b100', base=0)
"""
def bit_length(self):
""" 返回表示该数字的时占用的最少位数 """
"""
int.bit_length() -> int Number of bits necessary to represent self in binary.
>>> bin(37)
'0b100101'
>>> (37).bit_length()
"""
return 0 def conjugate(self, *args, **kwargs): # real signature unknown
""" 返回该复数的共轭复数 """
""" Returns self, the complex conjugate of any int. """
pass def __abs__(self):
""" 返回绝对值 """
""" x.__abs__() <==> abs(x) """
pass def __add__(self, y):
""" x.__add__(y) <==> x+y """
pass def __and__(self, y):
""" x.__and__(y) <==> x&y """
pass def __cmp__(self, y):
""" 比较两个数大小 """
""" x.__cmp__(y) <==> cmp(x,y) """
pass def __coerce__(self, y):
""" 强制生成一个元组 """
""" x.__coerce__(y) <==> coerce(x, y) """
pass def __divmod__(self, y):
""" 相除,得到商和余数组成的元组 """
""" x.__divmod__(y) <==> divmod(x, y) """
pass def __div__(self, y):
""" x.__div__(y) <==> x/y """
pass def __float__(self):
""" 转换为浮点类型 """
""" x.__float__() <==> float(x) """
pass def __floordiv__(self, y):
""" x.__floordiv__(y) <==> x//y """
pass def __format__(self, *args, **kwargs): # real signature unknown
pass def __getattribute__(self, name):
""" x.__getattribute__('name') <==> x.name """
pass def __getnewargs__(self, *args, **kwargs): # real signature unknown
""" 内部调用 __new__方法或创建对象时传入参数使用 """
pass def __hash__(self):
"""如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数。在字典查找中,哈希值用于快速比较字典的键。两个数值如果相等,则哈希值也相等。"""
""" x.__hash__() <==> hash(x) """
pass def __hex__(self):
""" 返回当前数的 十六进制 表示 """
""" x.__hex__() <==> hex(x) """
pass def __index__(self):
""" 用于切片,数字无意义 """
""" x[y:z] <==> x[y.__index__():z.__index__()] """
pass def __init__(self, x, base=10): # known special case of int.__init__
""" 构造方法,执行 x = 123 或 x = int(10) 时,自动调用,暂时忽略 """
"""
int(x=0) -> int or long
int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments
are given. If x is floating point, the conversion truncates towards zero.
If x is outside the integer range, the function returns a long instead. If x is not a number or if base is given, then x must be a string or
Unicode object representing an integer literal in the given base. The
literal can be preceded by '+' or '-' and be surrounded by whitespace.
The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to
interpret the base from the string as an integer literal.
>>> int('0b100', base=0)
# (copied from class doc)
"""
pass def __int__(self):
""" 转换为整数 """
""" x.__int__() <==> int(x) """
pass def __invert__(self):
""" x.__invert__() <==> ~x """
pass def __long__(self):
""" 转换为长整数 """
""" x.__long__() <==> long(x) """
pass def __lshift__(self, y):
""" x.__lshift__(y) <==> x<<y """
pass def __mod__(self, y):
""" x.__mod__(y) <==> x%y """
pass def __mul__(self, y):
""" x.__mul__(y) <==> x*y """
pass def __neg__(self):
""" x.__neg__() <==> -x """
pass @staticmethod # known case of __new__
def __new__(S, *more):
""" T.__new__(S, ...) -> a new object with type S, a subtype of T """
pass def __nonzero__(self):
""" x.__nonzero__() <==> x != 0 """
pass def __oct__(self):
""" 返回改值的 八进制 表示 """
""" x.__oct__() <==> oct(x) """
pass def __or__(self, y):
""" x.__or__(y) <==> x|y """
pass def __pos__(self):
""" x.__pos__() <==> +x """
pass def __pow__(self, y, z=None):
""" 幂,次方 """
""" x.__pow__(y[, z]) <==> pow(x, y[, z]) """
pass def __radd__(self, y):
""" x.__radd__(y) <==> y+x """
pass def __rand__(self, y):
""" x.__rand__(y) <==> y&x """
pass def __rdivmod__(self, y):
""" x.__rdivmod__(y) <==> divmod(y, x) """
pass def __rdiv__(self, y):
""" x.__rdiv__(y) <==> y/x """
pass def __repr__(self):
"""转化为解释器可读取的形式 """
""" x.__repr__() <==> repr(x) """
pass def __str__(self):
"""转换为人阅读的形式,如果没有适于人阅读的解释形式的话,则返回解释器课阅读的形式"""
""" x.__str__() <==> str(x) """
pass def __rfloordiv__(self, y):
""" x.__rfloordiv__(y) <==> y//x """
pass def __rlshift__(self, y):
""" x.__rlshift__(y) <==> y<<x """
pass def __rmod__(self, y):
""" x.__rmod__(y) <==> y%x """
pass def __rmul__(self, y):
""" x.__rmul__(y) <==> y*x """
pass def __ror__(self, y):
""" x.__ror__(y) <==> y|x """
pass def __rpow__(self, x, z=None):
""" y.__rpow__(x[, z]) <==> pow(x, y[, z]) """
pass def __rrshift__(self, y):
""" x.__rrshift__(y) <==> y>>x """
pass def __rshift__(self, y):
""" x.__rshift__(y) <==> x>>y """
pass def __rsub__(self, y):
""" x.__rsub__(y) <==> y-x """
pass def __rtruediv__(self, y):
""" x.__rtruediv__(y) <==> y/x """
pass def __rxor__(self, y):
""" x.__rxor__(y) <==> y^x """
pass def __sub__(self, y):
""" x.__sub__(y) <==> x-y """
pass def __truediv__(self, y):
""" x.__truediv__(y) <==> x/y """
pass def __trunc__(self, *args, **kwargs):
""" 返回数值被截取为整形的值,在整形中无意义 """
pass def __xor__(self, y):
""" x.__xor__(y) <==> x^y """
pass denominator = property(lambda self: object(), lambda self, v: None, lambda self: None) # default
""" 分母 = 1 """
"""the denominator of a rational number in lowest terms""" imag = property(lambda self: object(), lambda self, v: None, lambda self: None) # default
""" 虚数,无意义 """
"""the imaginary part of a complex number""" numerator = property(lambda self: object(), lambda self, v: None, lambda self: None) # default
""" 分子 = 数字大小 """
"""the numerator of a rational number in lowest terms""" real = property(lambda self: object(), lambda self, v: None, lambda self: None) # default
""" 实属,无意义 """
"""the real part of a complex number""" int
2.布尔值
真或者假,1或者0
3.字符串
字符串是python中最常见类型,我们通常用单引号('')或者双引号("")来创建
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
value = "a"
print(value)
- 移除空白
例;
#!/usr/bin/env python
# -*- coding:utf-8 -*-
value = " a "
ret = value.strip()
print(ret)
- 分割
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
value = "hello,world"
ret = value.split(',')
print(ret)
- 长度
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
value = "hello,world"
ret = value.__len__()
print(ret)
- 索引
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
value = "hello,world"
ret = value[0]
print(ret)
- 切片
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
value = "hello,world"
ret = value[0:6]
print(ret)
字符串内建函数
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
capitalize()
将字符串的第一个字符转换为大写
"""
value = " hello,world "
ret = value.capitalize()
print(ret)
"""
center(width, fillchar)
返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格
"""
ret = value.center(30)
print(ret) """
count(str, beg= 0,end=len(string))
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
"""
ret = value.count('l')
print(ret)
"""
decode(encoding='UTF-8',errors='strict')
使用指定编码来解码字符串。默认编码为字符串编码
encode(encoding='UTF-8',errors='strict')
以 encoding 指定的编码格式编码字符串 temp = "中文"
#解码,需要指定原来是什么编码
temp_unicode = temp.decode('utf-8')
#编码,需要指定要编成什么编码
temp_gbk = temp_unicode.encode('gbk')
print(temp_gbk)
"""
"""
endswith(suffix, beg=0, end=len(string))
检查字符串是否以某字符串结尾如果是,返回 True,否则返回 False.
"""
ret = value.endswith('d')
print(ret)
"""
expandtabs(tabsize=8)
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8
"""
ret = value.expandtabs()
print(ret)
"""
find(str, beg=0 end=len(string))
检测 str 是否包含在字符串中 中,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
"""
ret = value.find('h')
print(ret) """
index(str, beg=0, end=len(string))
跟find()方法一样,只不过如果str不在字符串中会报一个异常,使用find方法最佳
"""
"""
isdigit()
如果字符串只包含数字则返回 True 否则返回 False
"""
ret = value.isdigit()
print(ret) """
lstrip()
截掉字符串左边的空格
"""
ret = value.lstrip()
print(ret) """
rstrip()
删除字符串字符串末尾的空格
"""
ret = value.rstrip()
print(ret)
"""
split(str="", num=string.count(str))
num=string.count(str)) 以 str 为分隔符截取字符串
"""
ret = value.split(',')
print(ret) """
strip([chars])
去除左右空格
"""
ret = value.strip()
print(ret) """
title()
返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写
"""
ret = value.title()
print(ret)
python字符串格式化符号:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtsAAAIGCAIAAAAKstQOAAAgAElEQVR4nO3dS3LbSLNAYe+Ja7k76Y14Jd6Hx9qC5x50cIo7sJo/jKpKJB5JSsJ34oSDIoHCi2YdQXL3t/8DAAB4KdM0fXv1PgAAgKujSAAAwOtRJAAA4PUoEgAA8HoUCQAAeD2KBAAAvJ5dRfLPj1/T9OvHP/99/f3nNE0/v2dX//5zGpAfA5+Lf378elzex+P5k3+++usN8P62ap4HAHxF9hTJ30Xx68ePvwtjlirB+ss5ZmPV4HPxX3wMavTn9z9LdEL3x/efv7w1AODrs71I3ueWx32S96+//0y0yB8UybV4b41Hbwzukfzf//3z49evn99/9KMl+eYCAHxSNhfJ95//zQ3//Pj1foPk5/fHl5lZw09trscyPpJreEsAwGXY95utf2aLvyeL7XMOrsN/747Z/ZK/SvTx/Px3TaZpmn7+/OldBQBXYE+R/Ncjg3sd0Y2S/oTk7vyX57/fEvn5871b//sp3yxk//fwz4uzH994UwDAl2d7kfzXIctvXDfcI/E7I5difv9jdI/ksdx76P768c/jbdK7IwcA+GpsLpLvP6efP37MvtH9b6bIF8n4RolZ56vy109twnskP7///PnnlsgsXL///PXrhzcHAHxl9vzU5n/Tyz///G9COfh7JO6bfGnyRfK/t4C3BABciUNF8hfH5o/lf3QNX4u132yd3TnzLgCAS3JCkcwmmW1BspydfDv8RXn/1aPef4Jkniqzn9X4kR4AXI5dRQIAAHAqigQAALweRQIAAF6PIgEAAK9HkQAAgNejSAAAwOtRJCjh7e3t1bsAAPg0vL29TdP0bfDffwD28+e9BQBABkWCKhQJACCPIkEVigQAkEeRoApFAgDIo0hQhSIBAORRJKhCkQAA8igSVKFIAAB5FAmqUCQAgDyKBFUoEgBAHkWCKhQJACCPIkEVigQAkEeRoApFAgDIo0hQxfEiud1u3ceZtbrLP55cHS1eYPFqft/ymzs+5nFuDa/eIwBfGUWCKk4vkuS8GGRHvkjiZRY7M5q22xl9dAgfp0g27SQAnMjlimTft93YwYlFsumqjRYYDTLfSkx3r1YrJ57akxsNhopLqLuV4MnuMcYHCACncK0imU8hPl6rOVIk7WTZvWq7p/MdM+7uN8xqVXSfzCy29YiSm06OBgDnokhQxbk/tWm/TK71eLKdXA++B5K7l5nUV3Oqu8/JjolfjQdRJACexkWLpPspPJoJsI+DRbK4HPmGSM7lR+Ig2MpowHbwraN1z8CmaMsfyGMPM6cCAE7hWkUyzaYH3whWc0qRTE09dL9cTKKjAbuPV3djdd+COXu0S+1iq3N/MNS8eHYcy+jQkiMAwClcrkim3meuz9kKDv4eyfT3BYq/Tc/UxmK0/G7E+5ZZeHUPk88Eex7XWGYPM0P5mwKgjssVyfzTVpGU8sx/a9O9M9FdJp5uY0ajJXesu+nkRpMbOrdI2j3xNwVAHYpkmhIf99jBy4skyJTMFU/O7kHXZp5J0t3h/JPB1rs72RZYMAIAnMK1iiT+sB59CmMf5xbJ6F5Fu8D8me5owePR8plX42fi2wyZdRe3LqbeUbfLL55pT1F34fx+AsBZXKtI8EyecI8k7sigSKbxdL46bHI34jY6nkRPZvWEAMBBFAmq8H/aAwDkUSSoQpEAAPIoElShSAAAeRQJqlAkAIA8igRVKBIAQB5FgioUCQAgjyJBFYoEAJBHkaAKRQIAyKNIUIUiAQDkUSSoQpEAAPIoElShSAAAeRQJqlAkAIA8igRVKBIAQJ73InkDAAB4KdM0fbv/+5s817e3t5fvA0nys6hIWKUiIUnmVSSsUpGQJPMqElapSEiSeRUJq1QkJMm8ioRVKhKSZF5FwioVCUkyryJhlYqEJJlXkbBKRUKSzKtIWKUiIUnmVSSsUpGQJPMqElapSEiSeRUJqzxeJLfbrfs4s1Z3+ceTq6PFCyxezexbfv9J8poqElZ5epE8SK7VLpkvkniZxc7c/qa72GgZkuQfL1ck+77t5g5PLJJNV220wGiQ+VZiunuVCaCth0CSF/RaRTKfQswK1R4pkjYFulct2RCPhdvH+VDY8YZRJCSZV5GwynN/atN+mVzr8WTbBAffA6u7l0wlkuT9skUSTx4v38+v4cEi6f6sJHN1Rj89WRTJaKhkQIy2kt8rkuTcaxXJfTYVuaNe7SlFcu/d3mi/nKdDkBrdx6u7sbpv3XzpviR8SXLk5YrkPo4Sk8S5Hvw9kvvsAm26Y7FaJPlrHWxr9R7Jpi9Jkpcrkvl0sjqp8IjP/Lc2mfk+vvT3Xb8nG+yYIiHJTSqS3/fEhMcdvrxIggjYdE8luW/t5vJ9Q5K8VpEEc5J54nTPLZL4GrWvju5qxI9Hy2dedY+EJI94rSLhM33CPZK4I1ebYLR6Jk/zu9HdOklyoSJhlf5PeyTJvIqEVSoSkmReRcIqFQlJMq8iYZWKhCSZV5GwSkVCksyrSFilIiFJ5lUkrFKRkCTzKhJWqUhIknkVCatUJCTJvIqEVSoSkmReRcIqFQlJMq8iYZWKhCSZV5GwSkVCksz7XiRvAAAAL2Wapm8TcDZ/3lsAAGRQJKhCkQAA8igSVKFIAAB5FAmqUCQAgDyKBFUoEgBAHkWCKhQJACCPIkEVigQAkEeRoApFAgDIo0hQhSIBAORRJKhCkQAA8igSVKFIAAB5FAmqUCQAgDyKBFUcL5Lb7dZ9nFmru/zjyXi05Hb37R4AoIsiQRWnF8mD5FrtknGR3BpG251HTxBAAIA8lyuS+PvazISHJCcWyaa7EaMFRoMEqbFaMPm9AgDEXKtIMt/UmlrO4kiRdO9VTM3Vae9qtCvOF24fxwN2t5u/lQIAyKNI+svgOOf+1Kb9MrnW48nRvZDukqv3P7p3ULx5AGA3Fy2SdubwPe7pHCySxeWIO3KxYveZ9j7HaN3Rn+1iO3YPANDlWkUyzWaR0TfBJpWzOKVIpt7tjeBnKNP23yNpn+ze8xi9mrnxBgBY5XJFMvWiRJFUcPD3SKa/L1B8EytzBRejdReIGW2x3WEAwFYuVyTd72gVSQXP/Lc2cS7Mn8ynQ1A2baYoEgA4iCKZJkVSw8uLJMiUYMDMjRnvHAA4nWsVSTwPxT8XwFbOLZL46nRvWhwvknjf2kG8cwBgN9cqEjyTJ9wjiQty9Tc/uhETMF9sPqY7JQBwHEWCKvyf9gAAeRQJqlAkAIA8igRVKBIAQB5FgioUCQAgjyJBFYoEAJBHkaAKRQIAyKNIUIUiAQDkUSSoQpEAAPIoElShSAAAeRQJqlAkAIA8igRVKBIAQB5FgioUCQAgjyJBFYoEAJDnvUjeAAAAXso0Td/u//4mz/Xt7e3l+0CS/CwqElapSEiSeRUJq1QkJMm8ioRVKhKSZF5FwioVCUkyryJhlYqEJJlXkbBKRUKSzKtIWKUiIUnmVSSsUpGQJPMqElapSEiSeRUJq1QkJMm8ioRVKhKSZF5FwiqPF8ntdus+zqzVXf7xZH601R2LR7v1OPFgTzkckvwIKhJWeXqRxDN6u1a75GqRdAOi3eji+XjJ4KC6Wxwd7GjJ4HBI8hN5uSI58p0oN3likWy6altvQmSWD/YqrpzVIlmMM6+QTFEpEpJfxmsViW8rn+mRIkneDGhvGyRvV8QZsfrS7gNp9yp/sN3d9mYm+WVUJKzy3J/atF8m13o82RZJPODWmzFH3lFtrGTaK3kgJPkpvGiRLD76599x+nA/y4NFspik81Pv6NbC6KK3WxyR2cqO0dq2GB3s4mxsOi0k+cG9VpHcZ1NROyW0j3nEU4rkHhbkvZn479t/jyRYOBhqvm9BuKxuaxQZ+ceZwyHJj+/liuTeixJFUuHB3yO5/32Bgin/nruCi9E27UDmpdUdG20oZnWczOGQ5Mf3ckUyn04USanP/Lc2mXsG3Uuf324wWrzRzH2UeJDdi5HkJ1KR/L4rkhpfXiRBpiR/ApJZLJMv8d4uBhmFy+p9FJL81F6rSOIJxkf8uZ5bJPHVaV/tzuibHudfGj2zelzdI903Akl+dq9VJHymT7hHEhdk3BDdiOkOMrpjkdyNdrTR+F02LUaSn1dFwir9n/ZIknkVCatUJCTJvIqEVSoSkmReRcIqFQlJMq8iYZWKhCSZV5GwSkVCksyrSFilIiFJ5lUkrFKRkCTzKhJWqUhIknkVCatUJCTJvIqEVSoSkmReRcIqFQlJMq8iYZWKhCSZ971I3gAAAF7KNE3fJuBs/ry3AADIoEhQhSIBAORRJKhCkQAA8igSVKFIAAB5FAmqUCQAgDyKBFUoEgBAHkWCKhQJACCPIkEVigQAkEeRoApFAgDIo0hQhSIBAORRJKhCkQAA8igSVKFIAAB5FAmqOF4kt9ut+zizVnf5x5P50VZ3LB7t1mPr+O2TqweyOkIwJgC8BEWCKk4vkuSMHszWmYl8xGixdq3RIaxuOr/M6jEmm6b9EwBexeWKxDeFT+PEItl01bZO+ZtuM7R7FVfOuUXyeDVZS6t76K8DgI/DtYrEd4TP5EiRjKbVePZdnarbx8Hb4JR3yOpexbu3um+jY4wPtrtLq3sIAKUoElRx7k9t2i+Taz2ebCfpeMB8Fmzavcxo3ZsZ80MIiiRooO7C8YAA8DQuWiSrn/g4zsEi6c6mmQvUvbhTM+UH74F4Xo+3sm+0dvfiQ1sNiO5o7ZP7zjAAVHCtIplmH8GjCcAn8lmcUiRTUw/dL+fT/KZJOth6PNR83/KpsbrFeJVM3wQnZPSg/RMAns/limTqRYkiqeDg75FMf1+gYMqf0tP5fLRNO5B5aXXHMltMjtZ967a7F7zPR196/wN4FZcrktVPap/IZ/HMf2uTn84z824w33dHizca39IYrVtaJN2dUSQAXosimSZFUsPLiyTIlGDArYtl8iXe29G6cW1klskcmjc/gA/CtYoknmAyN/OR59wiCW4wLBaYP9MdLfk4/9LomRGrQwWLrW7lsVh8BqbmFLlHAuC1XKtI8EyecI8k7sjMfNz+2KIdZHV2z+fsaiWMDqG7uaDSRgfb7kYbIqIEwEtQJKjC/2kPAJBHkaAKRQIAyKNIUIUiAQDkUSSoQpEAAPIoElShSAAAeRQJqlAkAIA8igRVKBIAQB5FgioUCQAgjyJBFYoEAJBHkaAKRQIAyKNIUIUiAQDkUSSoQpEAAPIoElShSAAAed6L5A0AAOClTNP07f7vb/Jc397eXr4PJMnPoiJhlYqEJJlXkbBKRUKSzKtIWKUiIUnmVSSsUpGQJPMqElapSEiSeRUJq1QkJMm8ioRVKhKSZF5FwioVCUkyryJhlYqEJJlXkbBKRUKSzKtIWKUiIUnmVSSs8niR3G637uPMWt3lH0/mR1vdsXi0W4/8yDuW6Z600SrxWTp4IUhyk4qEVZ5eJJkZ/R5Ow5kZesRosXat0SHEm868unWQ1VOxWiTzxYJVSPK4lysS3+09zROLZNNVy9wPyAy4+vxiht5xvyG/0R2L5aNq9UD8rSH5BK9VJL7Ve6ZHimQ0X8bT6uoc3D4O3ganvENW96pio6uHGafe/EH3QmQOhCS3qkhY5bk/tWm/TK71eLKdfQ/Gwb7d27Hz93R7tV+OdjUeZHTqRsuQ5HEvWiSLyWnxzd/L9/NreLBIutNk5uq0y7Trdi90ctaPt7J1tE0bzZ+60YNgn7sL35q/MvkLQZKbvFaR3P/uj/mTiwc87ilFch8X5PzL+fy9afYNth4PNd+3uCE2vamSOxYvnOmb4LyNHrR/kuSJXq5I7uMo8SF7rgd/j+T+94wYTPn39Dw9H23TDmReWt2x/IHnF4g32j7oHsWoSIIv/WUhebqXK5LR93mK5HSf+W9t8vN0ZkINJvLuaPFG43sV8YFkXg3a6GCRdPdZkZAsUpH87j7gcV9eJEGmBANuXWzHm+c5RRKftKDPuitm7kKR5BGvVSSjj9rHt4DulJzouUUS32Dofiu/IzWSq7Rfdp9ZPa6Kl5L3MOZv+PjQFgu4R0KyyGsVCZ/pE+6RBI1yX2uI0c8j2kFWp+14N9rRMoecfD4+US2rp2hUdW2IiBKS56pIWKX/0x5JMq8iYZWKhCSZV5GwSkVCksyrSFilIiFJ5lUkrFKRkCTzKhJWqUhIknkVCatUJCTJvIqEVSoSkmReRcIqFQlJMq8iYZWKhCSZV5GwSkVCksyrSFilIiFJ5lUkrFKRkCTzvhfJGwAAwEuZpunbBJzNn/cWAAAZFAmqUCQAgDyKBFUoEgBAHkWCKhQJACCPIkEVigQAkEeRoApFAgDIo0hQhSIBAORRJKhCkQAA8igSVKFIAAB5FAmqUCQAgDyKBFUoEgBAHkWCKhQJACCPIkEVx4vkdrt1H2fW6i7/eDI/2uqOxaPdeuRH3rFM96SNVonPUjzmQYJdijll6wA+IIoEVZxeJMk5KZiGMzN0ZiJcPB8vGRxUsPMxyUFWT8VqkcwXC1Y5spP5HWufFyjAV+JyRdL9tF3MKy/bua/FiUXSXrXMWsHzmQFXn1/Mnauzezxs5tVNi+WjavVANp3/5GKnnIdNSwL44FyrSEbf6sWTCvZxpEhG82U8ra7Owe3j4Iqf8mZY3auKjbajjU5FfE66e37Wgayunjx1/s4CXwZFMk2KpIZzf2rTfplc6/Fke8XPnVPPKpjR8zGLxRajtbsaD9IuHA+YOYrkIWTGz2wOwKfjokXSfoR1n8QRDhZJd5rMXKPuxV08H7wHdk+ZyVm/Pa78RpPc0gGxOCejJ7deiH2XadPqR5YH8DG5VpFMf//WSPd5nMUpRTI1l6b75Xz+3jT7BluPh5rvW9wQm95XyR2LF870TXDeRg/aPw8exZH937Q5AJ+CyxXJNIiS4PMO+zj4eyTT3zNiPC0l5+n5aJt2IPPS6o5l2FQkqxttHyyW6UZGvIknFMnWYf3NBb4GlyuS+CPYR9uJPPPf2uTn6U0TarBYN2q7i+W/18/vWPzkWUXS3edkTCSPcdPfuFOaD8CHRZFM3Qc4zsuLJMiUYMCti+148zynSOKTFvRZd8WtGbG7SIKGUyTA1+ZaRTL6qJ1/5PmAO4tziyS+wdD9Vn5HaiRXab/sPjNiX5FsmuOT9zC6p7T9csf4o2XOPW/+tgJfiWsVCZ7JE+6RBI0yrTVEN2K6g6xO2/FutKPFC2x6fvFqd6+CmBudk3Zv2xDZWgPxlYp7K3l6AXxqFAmq8H/aAwDkUSSoQpEAAPIoElShSAAAeRQJqlAkAIA8igRVKBIAQB5FgioUCQAgjyJBFYoEAJBHkaAKRQIAyKNIUIUiAQDkUSSoQpEAAPIoElShSAAAeRQJqlAkAIA8igRVKBIAQJ73InkDAAB4KdM0fbv/+5s817e3t5fvA0nys6hIWKUiIUnmVSSsUpGQJPMqElapSEiSeRUJq1QkJMm8ioRVKhKSZF5FwioVCUkyryJhlYqEJJlXkbBKRUKSzKtIWKUiIUnmVSSsUpGQJPMqElapSEiSeRUJqzxeJLfbrfs4s1Z3+ceTo9FGa/0hv8q+o8gf4ymOzkZ86jZdtYMnZOs5GV2pzAHmF9u9eyRjFQmrPL1I4jJo1wpmpmCQR9DkN7egHWrxZ/KQ952xmPhsxMeb3LfMud10QuJDWL1Sq4ESXPruNU2eXpJbvVyRtBPG/EsfKyd6YpEEVy1YK3g+OWBmsU37050dnzPJBRPzaFv79u3gCdk0Wmb1doe7zzyejwff954kmfFaRfL43Lk3HyLdDxoe8UiRtBPJ6Krlp8zuFLI6rXa3Oxo23rf7eC7cOvi+U9rdt+5ZPbJvB0/IpjOwen7ai959Gzz2pLur8VGsHgLJpIrkr5d4ouf+1Kb9MrnW48l4ctq0ufyctJjnNh3I7pPW3aXuvo3WOnKx4sPMnJCtpzdYsj3G/BUf7X935LoLSl7HixbJuZ/F7HqwSLpTS+YCjabeeHJarBvPhaPd6C6WOYrM7Js/b6MjWj1Rmb1aPSfBVJ08IcnTmzyEYA+Dyz060tEq+y4WybnXKpL77NMw+SHI3Z5SJPe/J7DRl/OJITOfbbrc+YkwmP/aPzdtsXvsmXW7odA9w6vza7Dp0bndd0LyO5A5G0FYZM6VDwryaV6uSO6DKPFBc7oHf4/k/vcMEc+XmUu5GG3TnmSe7D7fnc/irccT/ylFsjiT8aQbNE3m/Ge+PFgkbVGttkX3EyDzflvdIsndXq5I5p9EiqTUZ/5bm8yUNrr0o8WCKaf7arxMuw+rQ3XnudU36miEYKh4o6PFkic/Xr09IcnTG6yef+e0u9EOGBzOputCclVF8tfzPNGXF0kwZ2QeB5s7ff9PeTVeJjltB18mT0Ww2I4TsvX0btrQ1vYaDejTgzzFaxVJMA+Nvgnjbs8tkvgata8m55L72rwSPNmu2J3z2m1l5uzTjaft0RkeFfymDW09IcnTG+x/8p0TDLi6TPdwSB7xWkXCZ/qEeyRxR2bmknhGWZ3GgllzMS8GR5E5loOnsR253b3V0z6a9fOXI3NC8qc3PpnxYvGV7V7E9vnRlyT3qUhYpf/THkkyryJhlYqEJJlXkbBKRUKSzKtIWKUiIUnmVSSsUpGQJPMqElapSEiSeRUJq1QkJMm8ioRVKhKSZF5FwioVCUkyryJhlYqEJJlXkbBKRUKSzKtIWKUiIUnmVSSsUpGQJPO+F8kbAADAS5mm6dsEnM2f9xYAABkUCapQJACAPIoEVSgSAEAeRYIqFAkAII8iQRWKBACQR5GgCkUCAMijSFCFIgEA5FEkqEKRAADyKBJUoUgAAHkUCapQJACAPIoEVSgSAEAeRYIqFAkAII8iQRXPLJLb7RZ8OX8mXjJYMd5od7HVwfNDBWvFmx6NNlrrD/lVRgvkjwIA/qBIUMXBIrmNaZd5fLl4sBhw02Kry7R/xqPliyQug3atfIG1y2zaXHAhun8CQJ7LFYlv457G8SJZfTx6ta2KmORuJPfwyFCbxtyaQQePZdP++MsFYCvXKhLfwz2TlxRJ95ndzTEavA2aoG/iBuoO1T2EfFR1T9dqZ6z+vQhG2HRCAKCLIkEVz/ypzeKl7sXNTOTx7N4uvFimmwKrQ7UvJd+cwWEulonHj3ds9Sq0240vBAB0uWiRjD5PfYCeyMf5qc3q+O3z8RzcvpGOTPyL8Y8cQrvu6F0931yQGvFZare74ygA4A/XKpJp9qGZn/Cwj+cUyaZ5NLPA6lDdSXc0AXfLpu2bdkYffTlfPZMLm97PwcFmNpE5IQAw4nJFMvWiJPgeEbt5wk9tpt7VnJpMCYbqDhh8GS8WvHnicfJvxUxtLEYb7VJmD5OH3z6jSABs5XJF0v0GzudmBU+4RxJM58mRR68G741uNIwm4HaceOJfDY5MMHXf5MFiQaJlMm7TCQGAEYpkmhLTAHbwcf6tzdZX81mQ3LHVjDhYJMH4R05jHn+VABznWkUSfFy23/nhIJ+3SDILd8Olu5+r9xiChUfbXdyN2FokmdbpHlcwwuoJAYCYaxUJnsmRIokn49WF44zYNE3GU28QIpuGXb3HEO95XFFx4syXCYYNouSUEwIAigRV+D/tAQDyKBJUoUgAAHkUCapQJACAPIoEVSgSAEAeRYIqFAkAII8iQRWKBACQR5GgCkUCAMijSFCFIgEA5FEkqEKRAADyKBJUoUgAAHkUCapQJACAPIoEVSgSAEAeRYIqFAkAIM97kbwBAAC8lGmavt3//U2e69vb28v3gST5WVQkrFKRkCTzKhJWqUhIknkVCatUJCTJvIqEVSoSkmReRcIqFQlJMq8iYZWKhCSZV5GwSkVCksyrSFilIiFJ5lUkrFKRkCTzKhJWqUhIknkVCatUJCTJvIqEVZ5SJLfb7fHnl3dxmO1RP56JlwxWjDfaXWx18PxQwVrxpkejjdb6Q36V40dB8riKhFU+p0huY5KLlc46mY0unomn4a2LrS7T/hmPli+S5OkNDmS1SOZ7nt9ccCGSJ4RkhZcrku4H0NPmp0t5vEjmE1I8i8SP2y9HW8ksv+8QVscfTY3zJ2OSu5HcwyNDbRpztED+1G1abNP++DQgn+m1imT03Y/PoArPKpL4u9VNRdKdxUu/M95XJMEhZDaUeXV0KkZ9EzdQfFbjQUYb7Z6u1bfB6hUMRth0QkieriL5fT91BuLDg0XSznnBYpumt3aE7p+nmNm90Uvd3cgcaf7wu5uLT/vqmcwsubpY9+rH48c7lnmTZE4IyTovWiSjzzIfPSd6pEjaGSiYgFcf3/++9IuhFn+OZql9743k7nVfzWwxSI3u8Xa3snj/75v4F+MfOYTR1Q/WjVMjPktbTwjJIq9VJPfZx01mtuMRT/w9kntuUskUSfDk6L0RjLn6htk0VHIezSywOlR30h1NwN2yWezw/OwFMdGuvvXKrhocbGYTmRNCssLLFcm9N/G0D3jcpxXJ6mR5H0wt3f5o3xvBmKtvmPzujXZmtCeZ482cvdWzlB8nc9I2Xdn8eY5HSx7+jhNC8kQvVyTzj5j5R97Ld+zreXqRdCe5zOP77Iq34yzeBpveG6vvnPyudqfz3ZtePYru+RxNwO048cS/GhyZYOpejmCx7sXtHmxmmfiEkKxQkfy+Jz5AucMP+FObeISt743MWyW5e8lnNr2az4Lkjq0e/sEiCcY/chrz+kAgX+u1iqT7QRN828Qjfq4iidfd/cZ4YZFkFu6GS/KvSXtORguPtjt/NRgt2KXkaVkcVzDC6gkhWee1ioTP9AlFEs92+5Y80U0bzRfJjt2Op94gRDYN253pF4+DPY8vWZw47UGNdiB4cPyEkDyiImGV/k97JMm8ioRVKhKSZF5FwioVCUkyryJhlYqEJJlXkbBKRUKSzKtIWKUiIUnmVSSsUpGQJPMqElapSEiSeRUJq1QkJMm8ioRVKhKSZF5FwioVCUkyr0hngKwAAAhSSURBVCJhlYqEJJlXkbBKRUKSzPteJG8AAAAvZZqmbxNwNn/eWwAAZFAkqEKRAADyKBJUoUgAAHkUCapQJACAPIoEVSgSAEAeRYIqFAkAII8iQRWKBACQR5GgCkUCAMijSFCFIgEA5FEkqEKRAADyKBJUoUgAAHkUCapQJACAPIoEVTy/SG63W9FQ3ZGTy8SctcMA8NlRJKjiaUVy+uzeDrVaG1MTH/MVR/umSADgweWKZD4HmA9KOVIkwWUa9cc8AkZl0B2wHae7+mjARXNk7qYAAFquVSTzycMkUc3uIgkuUzDxB/Gx6bqPVh+9OvV+NNOO2SXeEwC4FIoEVZQWyfyZYKY/XiTxDiTviHizAcAqFy2SeGJ7xa59QY4XSRsHwTXK3CMJrns7TnfM1SRql/GOAoAM1yqSaTYtxRMPjnPw90g2ze6jIJhf2eDVdsn4dkv+mXZA7QsAXS5XJFNvclIkFRz8tzarDbF4snsjZPG4ve5tH8TJ0n1mMUjyXeTNBgBzLlcki9lr/rwZ4lyO/1ubTJHEWbl4clSi3QHjzQW7p0gAYAeKZJrMDTU8p0jal4I7H8F1X71HMno1vkdyGxAfCwBckGsVSXBDfjGB4TgHf7O1+zi4TEFSBJHRDtgNmtV9Gy0T4M0GAHOuVSQjkt+FYxNP/q/In3Xh4h6Kt5jpWu0LAF0UyTvmidPxf9oDAORRJKhCkQAA8igSVKFIAAB5FAmqUCQAgDyKBFUoEgBAHkWCKhQJACCPIkEVigQAkEeRoApFAgDIo0hQhSIBAORRJKhCkQAA8igSVKFIAAB5FAmqUCQAgDyKBFUoEgBAnvcieQMAAHgp0zR9u//7mzzXt7e3l+8DSfKzqEhYpSIhSeZVJKxSkZAk8yoSVqlISJJ5FQmrVCQkybyKhFUqEpJkXkXCKhUJSTKvImGVioQkmVeRsEpFQpLMq0hYpSIhSeZVJKxSkZAk8yoSVqlISJJ5FQmr/CBFcrvdXr7R7j4kl4l5+eklybNUJKzytUXywjm73ehqbdyb+JivODoKRULyK3m5Ipl/iC8e+6bzXI8Uyegy3TdeqfnUnry10G56052JUVh0U+PeNMeoXV5+NUmy2msVyfzTvzvn+eg/0d1FMrpM9+1Xqrt8sO7qO2R1092gicdZLZ52gXyTkeRnUZGokCpLi2R1hGD+PlgkmZ2f70aw/8k7It6iJK/gRYtk32TDTR4vknZ233p7YPc9kt33ZkZ3QUart8e1L8JI8rN7rSK5zyYb90iqPfh7JMen59E0Hw8yWiUZQ/GNma3PtAPuyDKS/BRerkjuzZQzTxMf9Cd68N/a7IiJxerzPzcNEmRrZt3gcfeZRWQkj9EbleQX83JF0rbIvgmPqx7/tza7L1BcEqv3SNpNby2h0Vo77pFkNkSSX0BF8rv7gMd9YZG0y+d/3rFaJJnVR0tuvUdyG7DjVJDkB/daRRLMFqsTFbd68Ddbu48zSdEdKpkU3cW6QRCMECyZ2Q33SEhe02sVCZ/pR/ivyD9/2o5zKt63TcXz8nNLkueqSFjlRygSkuRnUZGwSkVCksyrSFilIiFJ5lUkrFKRkCTzKhJWqUhIknkVCatUJCTJvIqEVSoSkmReRcIqFQlJMq8iYZWKhCSZV5GwSkVCksyrSFilIiFJ5lUkrFKRkCTzKhJWqUhIknnfi+QNAADgpUzT9G0CzubPewsAgAyKBFUoEgBAHkWCKhQJACCPIkEVigQAkEeRoApFAgDIo0hQhSIBAORRJKhCkQAA8igSVKFIAAB5FAmqUCQAgDyKBFUoEgBAHkWCKhQJACCPIkEVigQAkEeRoIrnF8ntdju4zPzVx+PRKt3n2ye7Y+5YZrRWvBsHz8ltTDxI8qTlz23+tAD4pCgSVHGwSPJz4XyV5MiZV4NJPZMCi8WCVdq1Vo80uYfBTsYEh9MdNh8QigTAiMsVSfCpinM5XiSrj4NVkiMHywQZ1L6UiYNg093V80WS3OKOfRsFxCih5guMTt38wePP3YkD4MtwrSJZfAi+ene+OB+2SLbuQHJWbh90wyWYuYP3ZztatwMyOzb/sl0ySI3RRlcHCc7e4qjj8zkB+NIoElTxcX5qk59ZuxNtO1kmp+dpNuMGA3bXGh3j6mKLU5Sc71efzD8OtjU/V8HZXiy2eL49ZABfg4sWSfsZ6vPudJ5wj2QUB0euZiYggr3q1sDi1XbOXl1mdQdG6x58V2fObXwe2oOd71W8WLAAgK/HtYpkGtwlHj3GET7gT20y4yTn4MXzwQw6XyAokvmDxfOrGz3xMJNDxTvWHni74ui8dRcLDgTAl+FyRTKtfX/mg+8sPs5PbUYLdJfPzIVBZMSbaCfpdvX4SJO1MR+tu0xwXItnVq9C/DhTJO1+KhLgglyuSFZnER98Z/HR7pGsTvCLZw4WSXf+7k7So21ldjhYZrSt0epbey45SKZIgjEVCXAdFMk0bfxcRpJPXSSZWTa+BzBteYMdLJLMPgQDtrco2ldbkpto9211n7uL+YsJfHmuVSTBx2j8uYwdfKgiSb6Uua8wX6x9z4xm1nj8+bwbvxvbV+N9CE5du2/xgSerJT60YGfixfzdBL481yqSET7sKjhSJPFkvGmt4PnFq6NIXZ1ru7u3eNyOn9mH0eCre9LdsSBiFgu3KwYnJN7n7la6468usDoggE+NIlmf57AP/6c9AEAeRYIqFAkAII8iQRWKBACQR5GgCkUCAMijSFCFIgEA5FEkqEKRAADyKBJUoUgAAHkUCapQJACAPIoEVSgSAEAeRYIqFAkAII8iQRWKBACQR5GgCkUCAMijSFCFIgEA5Pkza/w/2AC8++BzgukAAAAASUVORK5CYII=" alt="" />
4.列表
列表中每个位置都分配一个数字,从0开始,依此类推
基本操作:
- 索引
- 切片
- 追加
- 删除
- 长度
- 循环
- 包含
创建列表
#!/usr/bin/env python
# -*- coding:utf-8 -*-
list = ['a','b']
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
索引
"""
list = ['a','b']
ret = list[0]
print(ret)
切片
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
切片
"""
list = ['a','b','c']
ret = list[0:2]
print(ret)
追加
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
追加
"""
list = ['a','b','c']
list.append('d')
print(list)
删除
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
删除索引1
"""
list = ['a','b','c']
print(list)
del list[1]
print(list)
长度
#!/usr/bin/env python
# -*- coding:utf-8 -*-
list = ['a','b','c']
ret=list.__len__()
print(ret)
循环
#!/usr/bin/env python
# -*- coding:utf-8 -*-
list = ['a','b','c'] for i in list:
print(i)
包含
#!/usr/bin/env python
# -*- coding:utf-8 -*-
list = ['a','b','c']
list2 = ['d','e']
total = [list + list2]
print(total)
列表中内置函数
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
排序
"""
list = [1,4,2,3,4,5,10,3]
list.sort()
print(list) """
list.count(obj)
统计某个元素在列表中出现的次数
"""
ret = list.count(3)
print(ret) """
list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
"""
list2 = [100,101,105]
list.extend(list2)
print(list) """
list.pop(obj=list[-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
"""
list.pop()
print(list)
"""
list.remove(obj)
移除列表中某个值的第一个匹配项
"""
list.remove(1)
print(list)
"""
list.reverse()
反向列表中元素
"""
list.reverse()
print(list)
"""
list.clear()
清空列表
"""
list.clear()
print(list)
5.元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号
创建元组
#!/usr/bin/env python
# -*- coding:utf-8 -*-
tup = ('a','b','c')
- 索引
- 切片
- 循环
- 长度
- 包含
#!/usr/bin/env python
# -*- coding:utf-8 -*-
list = ['a', 'b', 'c'] """
tuple(seq)
将列表转换为元组
"""
tup = tuple(list)
print(tup)
6.字典
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中
创建字典
person = {"name": "liu", 'age': 18}
键必须是唯一的,值不必
常用操作:
- 索引
#!/usr/bin/env python
# -*- coding:utf-8 -*- dic = {
"name":"mary","age":20
} dic1 = dic["name"]
print(dic1)
- 新增
#!/usr/bin/env python
# -*- coding:utf-8 -*- dic = {
"name":"mary","age":20
} dic["address"] = "beijing"
print(dic)
- 删除
#!/usr/bin/env python
# -*- coding:utf-8 -*- dic = {
"name":"mary","age":20
} dic["address"] = "beijing"
del dic["age"]
print(dic)
- 键、值、键值对
- 循环
#!/usr/bin/env python
# -*- coding:utf-8 -*- dic = {
"name":"mary","age":20
} for key,value in dic.items():
print(key,value)
- 长度
#!/usr/bin/env python
# -*- coding:utf-8 -*- dic = {
"name":"mary","age":20
} print(len(dic))
字典内建函数
class dict(object):
"""
dict() -> new empty dictionary
dict(mapping) -> new dictionary initialized from a mapping object's
(key, value) pairs
dict(iterable) -> new dictionary initialized as if via:
d = {}
for k, v in iterable:
d[k] = v
dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)
""" def clear(self): # real signature unknown; restored from __doc__
""" 清除内容 """
""" D.clear() -> None. Remove all items from D. """
pass def copy(self): # real signature unknown; restored from __doc__
""" 浅拷贝 """
""" D.copy() -> a shallow copy of D """
pass @staticmethod # known case
def fromkeys(S, v=None): # real signature unknown; restored from __doc__
"""
dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v.
v defaults to None.
"""
pass def get(self, k, d=None): # real signature unknown; restored from __doc__
""" 根据key获取值,d是默认值 """
""" D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None. """
pass def has_key(self, k): # real signature unknown; restored from __doc__
""" 是否有key """
""" D.has_key(k) -> True if D has a key k, else False """
return False def items(self): # real signature unknown; restored from __doc__
""" 所有项的列表形式 """
""" D.items() -> list of D's (key, value) pairs, as 2-tuples """
return [] def iteritems(self): # real signature unknown; restored from __doc__
""" 项可迭代 """
""" D.iteritems() -> an iterator over the (key, value) items of D """
pass def iterkeys(self): # real signature unknown; restored from __doc__
""" key可迭代 """
""" D.iterkeys() -> an iterator over the keys of D """
pass def itervalues(self): # real signature unknown; restored from __doc__
""" value可迭代 """
""" D.itervalues() -> an iterator over the values of D """
pass def keys(self): # real signature unknown; restored from __doc__
""" 所有的key列表 """
""" D.keys() -> list of D's keys """
return [] def pop(self, k, d=None): # real signature unknown; restored from __doc__
""" 获取并在字典中移除 """
"""
D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised
"""
pass def popitem(self): # real signature unknown; restored from __doc__
""" 获取并在字典中移除 """
"""
D.popitem() -> (k, v), remove and return some (key, value) pair as a
2-tuple; but raise KeyError if D is empty.
"""
pass def setdefault(self, k, d=None): # real signature unknown; restored from __doc__
""" 如果key不存在,则创建,如果存在,则返回已存在的值且不修改 """
""" D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """
pass def update(self, E=None, **F): # known special case of dict.update
""" 更新
{'name':'alex', 'age': 18000}
[('name','sbsbsb'),]
"""
"""
D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
If E present and has a .keys() method, does: for k in E: D[k] = E[k]
If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k]
"""
pass def values(self): # real signature unknown; restored from __doc__
""" 所有的值 """
""" D.values() -> list of D's values """
return [] def viewitems(self): # real signature unknown; restored from __doc__
""" 所有项,只是将内容保存至view对象中 """
""" D.viewitems() -> a set-like object providing a view on D's items """
pass def viewkeys(self): # real signature unknown; restored from __doc__
""" D.viewkeys() -> a set-like object providing a view on D's keys """
pass def viewvalues(self): # real signature unknown; restored from __doc__
""" D.viewvalues() -> an object providing a view on D's values """
pass def __cmp__(self, y): # real signature unknown; restored from __doc__
""" x.__cmp__(y) <==> cmp(x,y) """
pass def __contains__(self, k): # real signature unknown; restored from __doc__
""" D.__contains__(k) -> True if D has a key k, else False """
return False def __delitem__(self, y): # real signature unknown; restored from __doc__
""" x.__delitem__(y) <==> del x[y] """
pass def __eq__(self, y): # real signature unknown; restored from __doc__
""" x.__eq__(y) <==> x==y """
pass def __getattribute__(self, name): # real signature unknown; restored from __doc__
""" x.__getattribute__('name') <==> x.name """
pass def __getitem__(self, y): # real signature unknown; restored from __doc__
""" x.__getitem__(y) <==> x[y] """
pass def __ge__(self, y): # real signature unknown; restored from __doc__
""" x.__ge__(y) <==> x>=y """
pass def __gt__(self, y): # real signature unknown; restored from __doc__
""" x.__gt__(y) <==> x>y """
pass def __init__(self, seq=None, **kwargs): # known special case of dict.__init__
"""
dict() -> new empty dictionary
dict(mapping) -> new dictionary initialized from a mapping object's
(key, value) pairs
dict(iterable) -> new dictionary initialized as if via:
d = {}
for k, v in iterable:
d[k] = v
dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)
# (copied from class doc)
"""
pass def __iter__(self): # real signature unknown; restored from __doc__
""" x.__iter__() <==> iter(x) """
pass def __len__(self): # real signature unknown; restored from __doc__
""" x.__len__() <==> len(x) """
pass def __le__(self, y): # real signature unknown; restored from __doc__
""" x.__le__(y) <==> x<=y """
pass def __lt__(self, y): # real signature unknown; restored from __doc__
""" x.__lt__(y) <==> x<y """
pass @staticmethod # known case of __new__
def __new__(S, *more): # real signature unknown; restored from __doc__
""" T.__new__(S, ...) -> a new object with type S, a subtype of T """
pass def __ne__(self, y): # real signature unknown; restored from __doc__
""" x.__ne__(y) <==> x!=y """
pass def __repr__(self): # real signature unknown; restored from __doc__
""" x.__repr__() <==> repr(x) """
pass def __setitem__(self, i, y): # real signature unknown; restored from __doc__
""" x.__setitem__(i, y) <==> x[i]=y """
pass def __sizeof__(self): # real signature unknown; restored from __doc__
""" D.__sizeof__() -> size of D in memory, in bytes """
pass __hash__ = None dict
注:一般字符串,只要执行一个功能,会生成一个新内容,原内容不变,追加除外
list,tuple,dict,执行一个功能是原内容进行变化
三.for循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串,格式如下
for value in seq:
do xx
例
#!/usr/bin/env python
# -*- coding:utf-8 -*- list = [1,2,5,7]
for i in list:
print(i)
也可以break,continue
#!/usr/bin/env python
# -*- coding:utf-8 -*- list = [1,2,5,7]
for i in list:
if i == 5:
break
print(i)
#!/usr/bin/env python
# -*- coding:utf-8 -*- list = [1,2,5,7]
for i in list:
if i == 5:
continue
print(i)
2.enumrate
为可迭代的对象添加序号
#!/usr/bin/env python
# -*- coding:utf-8 -*- li = [11,22,33]
for k,v in enumerate(li, 1):
print(k,v)
3.range和xrange
指定范围,生成指定的数字
#!/usr/bin/env python
# -*- coding:utf-8 -*- for i in range(10):
print(i)
四.练习
列表,字符串,元组,字典之间相互转换
#!/usr/bin/env python
# -*- coding:utf-8 -*-
st = "hello"
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
#列表转无组
tup = tuple(li)
print(tup)
#元组转列表
lis = list(tu)
print(lis)
#字典转列表
tup_list = list(dic.values())
print(tup_list)
#str转list
str_list = list(st)
print(str_list)
2.列表操作
更换列表元素
li = ['a','b']
li[1] = 'c'
print(li)
将列表转换为字典的key并按照10开始向后递增
li = ['a','b','c']
dic = {}
for key,v in enumerate(li,10):
print(key,v)
dic[key]=v
print(dic)
五.模拟题
1、元素分类
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
需求:有如下值集合 [11,22,33,44,55,66,77,88,99,90]
将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
""" list = [11,22,33,44,55,66,77,88,99,90]
dic = {
"key1": [],
"key2": []
}
for i in list:
if i > 66:
dic['key1'].append(i)
else:
dic['key2'].append(i)
print(dic)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
查找列表中元素,移动空格,并查找以 a或A开头 并且以 c 结尾的所有元素
""" li = ["alec", " Aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
list1 = list(tu)
list2 = list(dic.values())
newlist = li + list1 + list2
for i in newlist:
ret = i.strip()
if (ret.startswith('a') or ret.startswith('A')) and ret.endswith('c'):
print(ret)
#!/usr/bin/env python
# -*- coding:utf-8 -*- """
输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']
"""
li = ["手机", "电脑", '鼠标垫', '游艇']
for key,i in enumerate(li):
print(key,i)
inp = input("please input your chose:")
chose = int(inp)
print(li[chose])
功能要求:
- 要求用户输入总资产,例如:2000
- 显示商品列表,让用户根据序号选择商品,加入购物车
- 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
- 附加:可充值、某商品移除购物车
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "手机", "price": 998},
]
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#version:1.1
"""
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车
"""
"""
1.创建空的购物车列表
2.要求用户输入金额资产
3.输入后列出商品列表
4.用户选择商品,加入购物车
5.结算,如果商品价格大于用户总资产提示余额不足,询问是否删除商品
6.结算资金充裕,提示购买成功,显示余额并退出
""" goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "手机", "price": 998},
]
cart ={
"goods_list":[],
"goods_prices":[]
}
#用户输入账户总额
money = int(input("Please enter your assets:"))
#列出商品信息
print("Products list:")
while True:
for key,values in enumerate(goods, 1):
for i in range(len(goods)):
if key - 1 == i:
print(key, goods[i]["name"], goods[i]["price"])
#用户选择商品
producets = int(input("You can select the product you like:"))
print("Selecting Goods:",goods[producets-1]["name"],"cost:",goods[producets-1]["price"])
#计算选购此商品后余额
cur_assets = money - goods[producets-1]["price"]
if cur_assets > 0:
#如果资金充实将商品加入购物车并结算
cart['goods_list'].append(goods[producets-1]["name"])
cart['goods_prices'].append(goods[producets-1]['price'])
#print("Your current balance is:", cur_assets, "¥")
chose = input("continue,please enter 'c';checked out,enter 'o';show information,enter 'l';quit,enter 'q'")
#查看加入购物车商品信息
if chose == 'l':
for prod, val in enumerate(cart["goods_list"], 1):
print(prod, val)
#退出
if chose == "q":
print("Thank you")
break
#继续购物
if chose == "c":
continue
#结账
if chose == "o":
total = (sum(cart['goods_prices']))
if total > money:
print("Sorry,your account doesn't have a large enough balance")
# 否则就退出程序,并且输出用户本次消费的情况
else:
print("Thanks,cost:", total, "¥", "Account balance:", money - total, "¥")
break
else:
print("error,please try agen") else:
print("Sorry,your account doesn't have a large enough balance")
break
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#version1.2
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "手机", "price": 998},
]
#用户输入总资产
money = input("请输入总资产:")
asset = int(money)
#定义空购物车
cart = {}
for i in goods:
print(i["name"],i["price"])
while True:
i2 = input("请选择商品(y/Y)结算;")
#如果选择结算退出循环
if i2.lower() == "y":
break
#否则继续购物,
for item in goods:
if item["name"] == i2:
name = item["name"]
#如果购物车已经有此商品,数量+1
if name in cart.keys():
cart[name]["num"] = cart[name]["num"] + 1
#反之,新增字典
else:
cart[name] = {'num': 1,'sigle_price': item["price"]}
print(cart)
#结账
all_prices = 0
for k,v in cart.items():
n = v['sigle_price']
m = v['num']
all_sum = n * m
all_prices = all_prices + all_sum
if all_prices > asset:
print("余额不足")
else:
print("消费:",all_prices)
5、用户交互,显示省市县三级联动的选择
dic = {
"河北": {
"石家庄": ["鹿泉", "藁城", "元氏"],
"邯郸": ["永年", "涉县", "磁县"],
}
"河南": {
...
}
"山西": {
...
} }
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#version:1.1
"""
三级联动
"""
dic = {
"河北":{
"石家庄":["鹿泉", "藁城", "元氏"],
"邯郸":["永年", "涉县", "磁县"]
},
"河南":{
"郑州":["中原区", "二七区"],
"洛阳":["西宫区","洛龙区"]
},
"山西":{
"太原":["南城区","北城区"],
"大同":["兴和","丰镇"]
}
}
for i in dic:
print(i)
flag = False
for trys in range(3):
provinces_name = input("Please select provinces:")
if provinces_name in dic:
provinces = dic[provinces_name]
city = provinces.keys()
while True:
for citys in city:
print(citys)
city_name = input("Please enter the city name: ")
if city_name in city:
area_name = dic[provinces_name][city_name]
for i in area_name:
print(i)
else:
print("Please try agen:")
continue
chose = input("Do you want to quit? quit,enter q;Back to top,enter b.")
if chose == "q":
print("The application will exits")
flag = True
break
if chose == "b":
continue
else:
print("The information is incorrect,please try agen:")
if flag:
break
else:
print("Three times error, the program will exit")
六.知识点补充
1.字符串构造
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#字符串构造
d = {"name":"Peter","age":20}
t = "insert into tb(%s) VALUES (%s)" key_list = []
value_list = []
for k,v in d.items():
key_list.append(k)
value_list.append("%%(%s)s" %(k)) print(key_list,",".join(key_list))
print(value_list,','.join(value_list))
sql = t % (','.join(key_list),','.join(value_list))
print(sql)
2.列表推导式
大多数Python开发者知道使用列表推导式。你不熟悉这一点? 一个列表推导式是一个创造列表的简短方式:
>>> some_list = [1, 2, 3, 4, 5]
>>> another_list = [ x + 1 for x in some_list ]
>>> another_list
[2, 3, 4, 5, 6]
从Python 3.1开始(也反向地移植到了Python 2.7),我们可以用同样的方式创建集合和字典:
>>> some_list = [1, 2, 3, 4, 5, 2, 5, 1, 4, 8]
>>> even_set = { x for x in some_list if x % 2 == 0 }
>>> even_set
set([8, 2, 4]) >>> # Dict Comprehensions
>>> d = { x: x % 2 == 0 for x in range(1, 11) }
>>> d
{1: False, 2: True, 3: False, 4: True, 5: False, 6: True, 7: False, 8: True, 9: False, 10: True}
第一个例子中,我们用 some_list
建立了一个元素不重复的集合,但只有偶数。第二个字典的例子中展示了一个字典的创建,这个字典的键是1到10(包括10),值是布尔值,指明该键是不是一个偶数。
另一个值得注意的地方是集合的文法,我们可以这么简单的创建一个集合:
>>>my_set = {1, 2, 1, 2, 3, 4}
>>> my_set
set([1, 2, 3, 4])
3. 使用计数器对象计数
很明显,但很容易遗忘。计数是一个寻常不过的编程任务,而且大多数情形下这不是个难事。不过计数可以更简单。
Python的 collections 库包含一个 dict
的子类,专门解决计数任务:
>>> from collections import Counter
>>> c = Counter('hello world')
>>> c
Counter({'l': 3, 'o': 2, ' ': 1, 'e': 1, 'd': 1, 'h': 1, 'r': 1, 'w': 1})
>>> c.most_common(2)
[('l', 3), ('o', 2)]
python数据类型详解及列表字典集合推导式详解的更多相关文章
- Python迭代器生成器,私有变量及列表字典集合推导式(二)
1 python自省机制 这个是python一大特性,自省就是面向对象的语言所写的程序在运行时,能知道对象的类型,换句话说就是在运行时能获取对象的类型,比如通过 type(),dir(),getatt ...
- python3 列表/字典/集合推导式
'''列表推导式[结果 fox循环 if语句]'''lst = ["Python周末%s期" % i for i in range(1, 27) if i%2 == 0]print ...
- python列表推导式详解 列表推导式详解 字典推导式 详解 集合推导式详解 嵌套列表推导式详解
推导式是Python中很强大的.很受欢迎的特性,具有语言简洁,简化代码,速度快等优点.推导式包括:1.列表推导式2.字典推导式3.集合推导式4.嵌套列表推导式注意: 字典和集合推导是最近才加入到Pyt ...
- python基础一 -------如何在列表字典集合中根据条件筛选数据
如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) fi ...
- python数据类型:序列(字符串,元组,列表,字典)
序列通常有2个特点: 1,可以根据索引取值 2,可以切片操作 字符串,元组,列表,字典,都可以看做是序列类型 我的操作环境:Ubuntu16.04+python2.7 一.字符串类型 >按索引获 ...
- python列表推导式详解
推导式是Python中很强大的.很受欢迎的特性,具有语言简洁,简化代码,速度快等优点.推导式包括:1.列表推导式2.字典推导式3.集合推导式4.嵌套列表推导式注意: 字典和集合推导是最近才加入到Pyt ...
- python的各种推导式(列表推导式、字典推导式、集合推导式)
推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持: 列表(lis ...
- python基础学习Day12 生成器、列表推导式、字典的表达式、字典键值对的互换、集合推导式
一.生成器 1.1 生成器:就是(python)自己用代码写的迭代器,生成器的本质就是迭代器. 1.2 生成器函数 def func1(x): x += print() yield x print() ...
- Python中的推导式(列表推导式、字典推导式、集合推导式)
推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持: 列表(lis ...
随机推荐
- Android中的Activity相关知识总结
一.什么是Activity? 简单理解:Activity是Android组件中最基本也是最为常见用的四大组件之一.是一个与用户交互的系统模块,一个Activity通常就是一个单独的屏幕(页面), 它上 ...
- KnockoutJS 3.X API 第三章 计算监控属性(1) 使用计算监控属性
计算监控属性(Computed Observables) 如果你有一个监控属性firstName,和另一个lastName,你要显示的全名?可以使用计算监控属性来实现-它依赖于一个或多个其他监控属性, ...
- 加载的过程中图片变形了? --教你自定义自动适配图片宽高比的RatioLayout
很多同行在开发中可能会遇到这样的问题,就是在加载图片的时候会出现图片变形的问题.其实这很可能就是你的图片宽高比和图片所在容器的宽高比不匹配造成的.比如说图片的宽为200,高为100.宽高比就是2,那么 ...
- 快速入门系列--WCF--05事务
最近开始WCF相关知识的学习,虽然实际工作中使用公司自己的一套SOA系统,但微软的一套服务架构还是具有很大的参考意义.除了WCF的一些基础使用,相对比较复杂的内容有分布式的事务和通信的安全等,不过基本 ...
- <C#>找出数组中重复次数最多的数值
给定一个int数组,里面存在重复的数值,如何找到重复次数最多的数值呢? 这是在某社区上有人提出的问题,我想到的解决方法是分组. 1.先对数组中的所有元素进行分组,那么,重复的数值肯定会被放到一组中: ...
- java坦克大战源码下载
HJZGG:https://github.com/hjzgg/hjzgg_tank_java 解压之后运行可执行jar包即可!效果图如下: v 1.游戏开始 v 2.选择地图 v 3.开始游戏 v 4 ...
- (翻译)编写属于你的jQuery插件
Writing Your Own jQuery Plugins 原文地址:http://blog.teamtreehouse.com/writing-your-own-jquery-plugins j ...
- 22套新鲜出炉的 Web & Mobile PSD 用户界面素材
在这篇文章中,我们展示的是自由和清新的 UI 设计素材套件.这些线框图和 UI 设计工具包让设计师在设计用户界面原型的时候能够非常便利. Web 用户界面,移动用户界面和线框套件对设计师很有用,因为这 ...
- Elasticsearch 之 数据索引
对于提供全文检索的工具来说,索引时一个关键的过程——只有通过索引操作,才能对数据进行分析存储.创建倒排索引,从而让使用者查询到相关的信息. 本篇就ES的数据索引操作相关的内容展开: 更多内容参考:El ...
- position属性absolute与relative 详解
最近一直在研究javascript脚本,熟悉DOM中CSS样式的各种定位属性,以前对这个属性不太了解,从网上找到两篇文章感觉讲得很透彻,收藏下来,唯恐忘记.一.解读absolute与relative ...